package cn.zzz.openplatform.amap.model.geocode;

import cn.zzz.openplatform.amap.constant.AmapUrlConstant;
import cn.zzz.openplatform.amap.model.AmapOpenApiRequest;
import lombok.*;

/**
 * 地理编码请求参数
 * <a href="https://lbs.amap.com/api/webservice/guide/api/georegeo">接口文档</a>
 */
@EqualsAndHashCode(callSuper = true)
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class AmapGeoCodeRequest extends AmapOpenApiRequest<AmapGeoCodeResponse> {

    /**
     * 结构化地址信息
     * 必填：是
     * 规则：国家、省份、城市、区县、城镇、乡村、街道、门牌号码等
     * 示例：北京市朝阳区阜通东大街6号
     */
    private String address;

    /**
     * 指定查询的城市
     * 可选内容：城市中文名（北京）、全拼（beijing）、citycode（010）、adcode（110000）
     * 默认值：全国范围搜索
     * 注意：不支持县级市
     * 必填：否
     */
    private String city;

    @Override
    public Class<AmapGeoCodeResponse> getResponseClass() {
        return AmapGeoCodeResponse.class;
    }

    @Override
    public String getUrl() {
        return AmapUrlConstant.GEOCODE_URL;
    }
}
